1. Field of the Invention
The present invention relates to technology for distributing processing to a plurality of computational resources to execute a computer program.
2. Description of the Related Art
The improvements in the functionality of software including computer games, web-searching software, or the like, is imposing a large processing load on hardware. To address such circumstances, it is important to improve efficiency of task processing using a plurality of processors as well as it is necessary to speed up operational processing itself.
In order to allow a plurality of processors to execute task processing in parallel, a main processor, which is responsible for managing a plurality of sub-processors, divides an application program into tasks, allocates the tasks to respective sub-processors, switches processing, controls an access from each sub-processor to a main memory or to an input/output device, etc. When, in such a manner, a plurality of sub-processors process tasks under centralized management by the main processor, sometimes, the overhead occurs. For example, when a plurality of sub processors issue access requests simultaneously, the main processor must execute a lot of processes at a time and executions might be stacked.